Avec son Snapdragon X Elite, Qualcomm promet que la plupart des jeux (x86) fonctionneront

Yes but... can it run Doom ?

Avatar de l'auteur
Vincent Hermann

Publié dans

Hardware

25/03/2024 4 minutes
8

Qualcomm avance doucement ses billes avec sa puce Snapdragon X Elite. Dévoilée en octobre dernier, elle doit permettre au fabricant de revenir dans la course face aux ordinateurs portables x86, notamment dans les jeux. Le GPU serait capable, selon Qualcomm, de rivaliser avec les IGP et faire tourner la plupart des jeux, soit via un portage natif, de l’émulation ou un mode hybride.

Quand Apple a lancé ses portables M1, la réussite a été double : non seulement la puce était puissante, mais la couche d’émulation Rosetta avait été retravaillée, permettant à la grande majorité des applications compilées pour x86 de fonctionner avec des performances raisonnables.

Les promesses de Qualcomm

Jusqu’à présent, ce n'était pas le cas avec les machines Windows équipées de SoC Arm. Lors de sa présentation par Qualcomm, la puce Snapdragon X Elite est apparue comme la première qui pourrait soutenir la comparaison.

Le jeu représente toutefois un défi. Avec l’arrivée des premiers portables équipés de la nouvelle puce cet été, Qualcomm avait décidé d’être présente à la Game Developer Conference la semaine dernière. La société y a envoyé son ingénieur Issam Khalil, qui a expliqué lors d’une présentation que la couche d’émulation ferait fonctionner les jeux x86 à une vitesse presque maximale.

Trois solutions pour les jeux sur Arm

Comme le rapporte The Verge, les développeurs auront trois solutions :

    • Porter les jeux sur ARM64, garantissant les meilleures performances et utilisation de l’énergie

    • Créer une application hybride ARM64EC, où Windows, ses bibliothèques et les pilotes Qualcomm fonctionneront nativement, ne laissant qu’une partie de l’application émulée, avec des performances proches du natif

    • Ne rien faire et s’en remettre à l’émulation x64 complète

Dans ce dernier cas, les jeux devraient fonctionner normalement, a indiqué Qualcomm. Il peut y avoir quelques baisses de performances quand du code est traduit de x64 vers ARM64, mais la première fois seulement, après quoi l’application se sert du cache.

ARM64EC
The Verge

DirectX, Vulkan et OpenCL

La partie GPU Adreno aura des pilotes pour DirectX 11 et 12, Vulkan et OpenCL. DirectX 9 et OpenGL 4.6 pourront aussi être supportés via des couches supplémentaires. On sait en revanche que certains jeux ne fonctionneront pas, dont ceux utilisant une technologie antitriche ou les instructions AVX.

Pour la partie GPU, Qualcomm annonce jusqu’à 4,6 TFLOPS, mais sans précision supplémentaire. On peut supposer qu’il s’agisse de FP32. À titre de comparaison, cela placerait le GPU du Snapdragon X Elite au-dessus de la partie graphique de la Xbox Series S, qui est pour sa part à 4 TFLOPS en FP32. Cela ne signifie pas que le SoC de Qualcomm dépassera la console de Microsoft, de nombreux autres paramètres entrant en ligne de compte.

Ok, et dans les benchs ?

Il y a quelques mois, Qualcomm a présenté des résultats de benchmarks avec son Snapdragon X Elite, dans deux configurations différentes. La première, avec une puce au maximum de ses capacités : 4,3 GHz pour deux cœurs et 3,8 GHz pour les dix autres avec un TDP total de 80 watts. La seconde avec 4 et 3,4 GHz maximum respectivement, pour un TDP total bien plus raisonnable de 23 watts.

Comme le rapportait alors Anandtech, les résultats sur 3DMkark Wildfire étaient de 45 et 39 fps. Sur GFXBench Aztec Ruins (Normal), ils sont de 354 et 294 fps. Le Snapdragon X Elite obtenait 2971 et 15 371 points sur Geekbench 6.2 (ST/MT) pour la première configuration, puis 2 780 et 14029 dans la seconde. Terminons avec Cinebench 2024 : 132 et 1227 (ST/MT) pour la version avec la fréquence max, 124 et 997 pour l’autre.

Les benchs étant choisis et présentés par Qualcomm, on se doute évidemment que le fabricant n’a pas sélectionné ceux mettant le plus à mal sa puce. Qualcomm fournissait aussi des comparatifs des résultats, sur Cinebench notamment. Bien sûr, sa puce arrive en première position face aux Razer Blade 15 2023 (Core i7-13800H), Asus ROG Zephyrus G14 2023 (Ryzen 9 7940HS) et MacBook Pro (M2) 13 pouces 2022. Dommage de ne pas avoir inclus les variantes Pro et Max de la puce M2, avec deux à quatre fois plus de cœurs GPU.

Il faudra attendre encore un peu avant d’avoir les résultats complets du Snapdragon X Elite en situation réelle.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Les promesses de Qualcomm

Trois solutions pour les jeux sur Arm

DirectX, Vulkan et OpenCL

Ok, et dans les benchs ?

next n'a pas de brief le week-end

Le Brief ne travaille pas le week-end.
C'est dur, mais c'est comme ça.
Allez donc dans une forêt lointaine,
Éloignez-vous de ce clavier pour une fois !

Fermer

Commentaires (8)


Il y a 2 émulateurs opensource "majeurs" à suivre avec ces évolutions: FEX et BOX. Les émulateurs avancent, mais peu d'infos sur les perfs (une vidéo avec GTA5 à 12 FPS, un benchmark qui a 2 ans).

Vieux lien: https://box86.org/2022/02/box86-box64-are-easy-to-use/

Il me semble que maintenant sous Linux, les 2 peuvent lancer Steam.

Entre Windows 11 qui n'est plus forcément la meilleure plateforme pour jouer avec Steam sous Linux qui fonctionne généralement bien et l'arrivée de processeurs ARM convenables pour les ordis, la plate-forme Wintel vacille...

Ceci dit, je remarque que pour concurrencer des CPU/GPU 35W de PC, un TDP de 25W est de mise. Ce qui n'est PAS révolutionnaire.

La plate-forme ARM permet de beaux tours de force, mais pour avoir de la perf, il faut consommer un minimum.

Ceci dit: actuellement les perfs des ordis sont bridés par l'organisation de la RAM. Tout est géré par blocs de 4ko: chaque fois qu'on accède à un nouveau bloc, il faut vérifier plein de choses: présence en RAM, droits notamment. Ce qui pourri tous les calculs matriciels et bride certains transferts.
Je ne sais pas si on va enfin se libérer de cette gestion 4k par 4k sur x86/x64, mais sous ARM64 on peut travailler avec de plus grandes pages, et en bench des pages de 64k permettent un gain de 15% en calcul (au détriment de la RAM consommée).

Je serai bien content si les plate-formes ARM permettent de se débrider un peu de ce point de vue là. 4k, actuellement, c'est vite limitant sur les traitements. Le x86/x64 stagne sur ce point et je pense que c'est une erreur.
Les pages de 4k peuvent être pénibles pour certaines tâches, mais tu omets qu'il y a maintenant (et même depuis un certains temps) la possibilité d'utiliser des pages de 2M voir 1G. Alors c'est pas forcément la panacé car ça augmente la pression sur les niveaux supérieurs du TLB mais ça marche bien voir très bien pour les scénarios que tu décris.

Pour du calcul matriciel si la taille des pages aide, il ne faut pas omettre que ça reste aussi et avant tout des problèmes de bande passante. La RAM n'arrive toujours pas nourrir suffisamment vite le CPU. Mais je te rejoins que mettre fin la vieillerie de l'x86 pour partir sur des bases plus modernes seraient bénéfique.

En revanche je me demande dans quelle mesure ce type de CPU pourra être disponible sur des PC Linux. Qualcomm n'étant pas une boîte ouverte pour ses datasheets, alors pour des puces aussi complexes que des CPU à destination de l'open-source, je doute un peu de voir du Linux dessus.
Les hugepages sont quand même pas mal répandues. C'est dans quel contexte que tu es encore obligé de te coltiner des pages de 4k ?

alex.d.

Les hugepages sont quand même pas mal répandues. C'est dans quel contexte que tu es encore obligé de te coltiner des pages de 4k ?
Je parlais du grand public/grand amateur/petit pro.

Le "cas général", pour qui 4ko n'est plus représentatif d'un découpage à la taille des données manipulées. Le mac se prépare à des pages de 16k/64k (visiblement le M1 est compatible), Android est prêt (on peu le compiler avec ces autres tailles de page).

Le PC reste coincé avec ses pages de 4ko assez vite ridicules.

Bien sûr, ça pose des problèmes - surtout si on veut émuler un PC x64 puisque si on le fait sur des pages de 16ko, soit on fait tous les tests de dépassement en émulation, soit on s'assoit sur la protection mémoire et l'accès dynamique (on ne peut pas émuler efficacement des pages de 4k sur une archi en pages de plus de 4k - sauf à avoir des instructions spéciales)


Les hugepages, c'est bien quand on maîtrise le soft, c'est pas automatique non plus (sauf sous Linux - mais il faut manipuler de grandes plages de données pour que ça fonctionne).

Wosgien

Je parlais du grand public/grand amateur/petit pro.

Le "cas général", pour qui 4ko n'est plus représentatif d'un découpage à la taille des données manipulées. Le mac se prépare à des pages de 16k/64k (visiblement le M1 est compatible), Android est prêt (on peu le compiler avec ces autres tailles de page).

Le PC reste coincé avec ses pages de 4ko assez vite ridicules.

Bien sûr, ça pose des problèmes - surtout si on veut émuler un PC x64 puisque si on le fait sur des pages de 16ko, soit on fait tous les tests de dépassement en émulation, soit on s'assoit sur la protection mémoire et l'accès dynamique (on ne peut pas émuler efficacement des pages de 4k sur une archi en pages de plus de 4k - sauf à avoir des instructions spéciales)


Les hugepages, c'est bien quand on maîtrise le soft, c'est pas automatique non plus (sauf sous Linux - mais il faut manipuler de grandes plages de données pour que ça fonctionne).
Le grand public ne code pas, donc utiliser les hugepages ou les pages de 4k, ce n'est pas son problème, il ne le voit pas.

Je connais très mal Windows, ça fait 20 ans que je ne l'ai pas utilisé. Tu veux dire qu'il n'y a pas de hugepages sous Windows ? Punaise.

alex.d.

Le grand public ne code pas, donc utiliser les hugepages ou les pages de 4k, ce n'est pas son problème, il ne le voit pas.

Je connais très mal Windows, ça fait 20 ans que je ne l'ai pas utilisé. Tu veux dire qu'il n'y a pas de hugepages sous Windows ? Punaise.
On parle de ça ? large page windows

Kiroha

On parle de ça ? large page windows
Oui, donc il y a des hugepages aussi sous Windows. Les pages à 4k sont un faux problème.

alex.d.

Oui, donc il y a des hugepages aussi sous Windows. Les pages à 4k sont un faux problème.
Mon propos étaient de récupérer de façon générale les gains liés aux pages plus grandes. Les bench que j'ai trouvé montrent qu'un gain de 10-15% existe sur ARM entre pages de 4k et 16k/64k.

OR x64 nous enferme dans des pages de 4k, il me semble que x64 n'est pas compatible pages de 16k et 64k.

De même, les tests existent et les implémentations sont prêtes ou presque (Android, Apple ont le support de page de plus de 4ko).

Ces pages de 4ko sont actuellement ennuyeuses car quasiment AUCUN fichier ne peut tenir dans une page -> tous les traitements multiplient des context switchs qui se sont très alourdis ces dernières années avec les différentes fuites et "améliorations" des CPU!